<?php

/**
 * Description of ClientesDao
 *
 * @author Francisco Nieto Zamora
 */
class SedesDao {

     public function mapearSedes($tab)
    {
        $lstSedes = new ArrayList();
        for($i=0;$i<count($tab);$i++)
        {
            $sede = new BeanDatosSedes();
            if($tab[$i]['COD_IMAGEN']!=null && $tab[$i]['COD_IMAGEN']!=1 )
            {
                $sede->setCodImagen($tab[$i]['RUTA']);
            }
            $sede->setCodSede($tab[$i]['COD_SEDE']);
            $sede->setDescripcion($tab[$i]['DESCRIPCION']);
            $sede->setDireccion($tab[$i]['DIRECCION']);
            $sede->setEmail($tab[$i]['EMAIL']);
            $sede->setFacebook($tab[$i]['FACEBOOK']);
            $sede->setLocalidad($tab[$i]['LOCALIDAD']);
            $sede->setNombre($tab[$i]['NOMBRE']);
            $sede->setTelefono($tab[$i]['TELEFONO']);
            $sede->setLatitud($tab[$i]['LATITUD']);
            $sede->setLongitud($tab[$i]['LONGITUD']);

            $lstSedes->add($sede);
        }
        return $lstSedes;
    }

    
    public function obtenerSedesSQL($sede)
    {
        $sql='SELECT DS.*, I.* FROM DATOS_SEDES DS '.
            ' LEFT JOIN IMAGENES I ON DS.COD_IMAGEN = I.COD_IMAGEN WHERE 1=1 ';
        
        if($sede->getCodImagen()!=null)
        {
            $sql=$sql." AND DS.COD_IMAGEN=".$sede->getCodImagen();
        }
        if($sede->getCodSede()!=null)
        {
            $sql=$sql." AND DS.COD_SEDE=".$sede->getCodSede();
        }
        if($sede->getDescripcion()!=null)
        {
            $sql=$sql." AND DS.DESCRIPCION='".$sede->getDescripcion()."'";
        }
        if($sede->getDireccion()!=null)
        {
            $sql=$sql." AND DS.DIRECCION='".$sede->getDireccion()."'";
        }
        if($sede->getEmail()!=null)
        {
            $sql=$sql." AND DS.EMAIL='".$sede->getEmail()."'";
        }
        if($sede->getFacebook()!=null)
        {
            $sql=$sql." AND DS.FACEBOOK='".$sede->getFacebook()."'";
        }
        if($sede->getLocalidad()!=null)
        {
            $sql=$sql." AND DS.LOCALIDAD='".$sede->getLocalidad()."'";
        }
        if($sede->getNombre()!=null)
        {
            $sql=$sql." AND DS.NOMBRE='".$sede->getNombre()."'";
        }
        if($sede->getTelefono()!=null)
        {
            $sql=$sql." AND DS.TELEFONO=".$sede->getTelefono();
        }
        
        return $sql;

    }

     public function obtenerSedes($sede)
    {
        $sql = $this->obtenerSedesSQL($sede);
        $sqlQuery = new SqlQuery($sql);
        $tab=QueryExecutor::execute($sqlQuery);
        $lstSedes = $this->mapearSedes($tab);
        return $lstSedes;
    }
   
}
?>
